package com.cxyd.modules.wcs.service.impl;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.cxyd.common.service.impl.CrudServiceImpl;
import com.cxyd.modules.wcs.dao.RouteCtuDao;
import com.cxyd.modules.wcs.dto.RouteCtuDTO;
import com.cxyd.modules.wcs.entity.RouteCtuEntity;
import com.cxyd.modules.wcs.service.RouteCtuService;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Service;

import java.util.Map;

@Service
public class RouteCtuServiceImpl extends CrudServiceImpl<RouteCtuDao, RouteCtuEntity, RouteCtuDTO> implements RouteCtuService {
    @Override
    public QueryWrapper<RouteCtuEntity> getWrapper(Map<String, Object> params) {
        String curStn = (String) params.get("curStn");
        String toStn = (String) params.get("toStn");
        final QueryWrapper<RouteCtuEntity> wrapper = new QueryWrapper<>();
        wrapper.like(StringUtils.isNotBlank(curStn), "cur_stn", curStn);
        wrapper.like(StringUtils.isNotBlank(toStn), "to_stn", toStn);
        return wrapper;
    }

    @Override
    public RouteCtuEntity getTaskTypByCondition(String trkType, String frmStn, String toStn) {
        QueryWrapper<RouteCtuEntity> qw = new QueryWrapper<>();
        qw.eq("trk_type", trkType);
        if ("IN".equals(trkType)) {
            qw.eq("cur_stn", frmStn);
        } else
            qw.eq("to_stn", toStn);
        return baseDao.selectOne(qw);
    }
}
